package trabajo.sw;

import clases.domain.Bodega;
import clases.domain.Modelo;
import clases.domain.Pieza;
import clases.domain.Version;
import ejb.session.MantenedoresBean;
import ejb.session.MantenedoresLocal;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.model.SelectItem;
import org.primefaces.event.RowEditEvent;

@ManagedBean
@RequestScoped
public class GestionadorPiezaMB {

    private String nombrePieza;
    private String descripcionPieza;
    private int numBodega;
    private int numVersion;
    private List<Bodega> bodegas;
    private List<Version> versiones;
    private List<Pieza> piezas;
    
    @EJB private MantenedoresLocal mantenedorEjb;
    
    public void agregarPieza(){
       Pieza pieza=new Pieza();
       pieza.setNombrePieza(nombrePieza);
       pieza.setDescripcion(descripcionPieza);
       Bodega bodega = new Bodega();
       bodega.setNumBodega(numBodega);
       Version version = new  Version();
       version.setNumVersion(numVersion);
       pieza.setBodega(bodega);
       pieza.setVersion(version);
        try {
            mantenedorEjb.insertPiezas(pieza);
        } catch (Exception e) {
            System.out.println("Error");
        }
    }
    
    public String getNombrePieza() {
        return nombrePieza;
    }

    public void setNombrePieza(String nombrePieza) {
        this.nombrePieza = nombrePieza;
    }

    public String getDescripcionPieza() {
        return descripcionPieza;
    }

    public void setDescripcionPieza(String descripcionPieza) {
        this.descripcionPieza = descripcionPieza;
    }
    
    public int getNumBodega() {
        return numBodega;
    }

    public void setNumBodega(int numBodega) {
        this.numBodega = numBodega;
    }

    public int getNumVersion() {
        return numVersion;
    }

    public void setNumVersion(int numVersion) {
        this.numVersion = numVersion;
    }

    public List<Bodega> getBodegas() {
        if(bodegas==null){
           bodegas = mantenedorEjb.getListBodegas();
        }
        return bodegas;
    }

    public void setBodegas(List<Bodega> bodegas) {
        this.bodegas = bodegas;
    }

    public List<Version> getVersiones() {
        if(versiones==null){
           versiones = mantenedorEjb.getListVersiones();
        }
        return versiones;
    }

    public void setVersiones(List<Version> versiones) {
        this.versiones = versiones;
    }

    public List<Pieza> getPiezas() {
        if(piezas==null){
            piezas = mantenedorEjb.getListPiezas();
        }
        return piezas;
    }

    public void setPiezas(List<Pieza> piezas) {
        this.piezas = piezas;
    }
    
     public void onEdit(RowEditEvent event) {  
        Pieza piezaEdit = (Pieza) event.getObject();  
        mantenedorEjb.updatePiezas(piezaEdit);
        System.out.println("Edicion "+piezaEdit.getNombrePieza());
    }  
      
    public void onCancel(RowEditEvent event) {  
        
        boolean estado = false;
        Pieza piezaEdit = (Pieza) event.getObject();  
  
        System.out.println("Eliminar "+piezaEdit.getNombrePieza());
        estado = mantenedorEjb.deletePiezas(piezaEdit);
        if(estado){
           piezas.clear();
        }
    }  
   

}
